home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 2 / Atari Mega Archive CD - Volume 2.iso / tex / tex31 / readme < prev    next >
Text File  |  1995-04-22  |  6KB  |  207 lines

  1. Tell GNU Emacs to go into -*- Mode: Text -*-
  2. Date: Tue Jan 15 19:35:30 1991
  3. Updated: Thu Jan 31 20:15:44 1991
  4.  
  5.  
  6.                TeX 3.1 and Metafont 2.7
  7.                    for the
  8.                   Atari ST.
  9.  
  10.  
  11.         This is the README for the C sources.
  12.  
  13.  
  14. A T T E N T I O N:
  15. ==================
  16. Before compiling please apply these last minute changes to all
  17. makefiles and the file common/texmf.c. Remove all instances of the
  18. optimizing switch '-fstrength-reduce' in the makefiles. When compiled
  19. with this switch the resulting DVI caused my DVI-driver to bomb. Also
  20. apply the following diff to common/texmf.c.
  21.  
  22. ===== File: readme.src ====== CUT HERE ==============================
  23. *** i:/texmf.c    Sun Jan 13 21:14:08 1991
  24. --- texmf.c    Thu Jan 31 20:13:18 1991
  25. ***************
  26. *** 220,227 ****
  27.     while (last < bufsize && (i = getc (f)) != EOF && i != '\n') 
  28.       buffer[last++] = i;
  29.   
  30. -   if (i == '\n' && buffer[last-1] == '\r')
  31. -     last--;
  32.     if (i == EOF && last == first)
  33.         return false;
  34.   
  35. --- 220,225 ----
  36. ***************
  37. *** 238,244 ****
  38.       maxbufstack = last;
  39.   
  40.     /* Trim trailing whitespace.  */
  41. !   while (last > first && (buffer[last-1] == ' ' || buffer[last-1] == '\t'))
  42.       --last;
  43.   
  44.     /* Now, either `last==first' or `buffer[last-1] != ' '' (or \t). */
  45. --- 236,244 ----
  46.       maxbufstack = last;
  47.   
  48.     /* Trim trailing whitespace.  */
  49. !   while (last > first && (buffer[last-1] == ' ' ||
  50. !               buffer[last-1] == '\t' ||
  51. !               buffer[last-1] == '\r'))
  52.       --last;
  53.   
  54.     /* Now, either `last==first' or `buffer[last-1] != ' '' (or \t). */
  55. ============================== CUT HERE ==============================
  56.  
  57. This archive contains C sources, which were generated from the WEB and
  58. the WEB2C sources version 5.8a, which Karl Berry announced and
  59. released in a TeXhax digest, which appeared on my news site during
  60. November 1990. I make them available upon special request. I also only
  61. provide the sources for TeX and Metafont and NOT for the other utility
  62. programs.
  63.  
  64. The WEB sources were converted on my Un*x box at work with the
  65. constant MAXLINES in file src-5.8a/web2c/splitup.c set to 1000.
  66. This conversion process produced C source files with an average size
  67. of about 30 k.
  68.  
  69. The C sources compiled without any major problems with GNU-C v1.37.1,
  70. v1.38 and v1.39. Exceptions are listed below.
  71.  
  72. Before I continue, let me shortly decribe the configuration of my ST.
  73. The machine is equipped with 2.5 meg memory. I've installed a 192 k
  74. ramdisk and a 200 k disk cache plus some auto folder programs. It's
  75. fair to say, that about 1/2 meg is lost to these programs. All
  76. temporary file are created in the ram disk.
  77.  
  78. All TeX and Metafont C source files, except 3, could be compiled with
  79. this configuration. The following three files needed special
  80. attention, before they would compile.
  81.  
  82. * itex.c
  83.  
  84.   When compiled with '-DINITEX' my ram disk would overflow while
  85.   writing the temporary assembler file. Changing the 'TEMP'
  86.   environment variable to a partition with enough free blocks
  87.   circumvented this problem.
  88.  
  89. * tex6.c 
  90.  
  91.   To compile this file with the default 'CFLAGS' I had to strip my
  92.   auto folder to the bare minimum to get maximum memory. I also had to
  93.   compile the file by hand without the control of the 'make' utility.
  94.   The reason, that the compilation of this file takes so much memory
  95.   is the number of getc() functions calls (93). By default 'stdio.h'
  96.   is setup to include the getc() routine as inline code. You can
  97.   reduce the memory usage by compiling this file with the additional
  98.   option '-D__NO_INLINE__'. With this defined this file also compiled
  99.   with the default auto folder.
  100.  
  101. * mf9.c
  102.  
  103.   The same restrictions as mentioned with 'tex6.c' apply to this file,
  104.   except that you CAN'T reduce the memory requirements. The auto
  105.   folder MUST be stripped to the bare minimum. There is NO way do
  106.   decrease memory usage by giving some additional option. So, you are
  107.   out of luck, when have only 2 megs.
  108.  
  109. Also, if possible use a 'make' utility with a small memory usage. With
  110. GNU-Make v3.58 there is more than one file, which can't be compiled
  111. under the control of the makefile, because the compiler reports
  112. 'Virtual memory exhausted'. I personally use an very old version of
  113. the GNU-Make (v2.00), which is still from the time when the first
  114. versions of GNU-C (v1.23) appeared for the ST. This old version uses
  115. less memory.
  116.  
  117. It should be possible to generate new TeX or Metafont versions with
  118. different internal buffer sizes by changing the respective contants in
  119. 'texd.h' or 'mfd.h', but I didn't test this. I alway regenerated the C
  120. files from the WEB sources, when I changed a constant. You certainly
  121. can't make HUGE TeX or Metafont of versions with the available defines
  122. in 'texd.h' or 'mfd.h'. To produce HUGE versions requires a rerun of
  123. the conversion process.
  124.  
  125. The compilation of either TeX and Metafont takes about one hour for
  126. each.
  127.  
  128. The general directory structure for the sources is as follows (the '/'
  129. in the first column marks a directory):
  130.  
  131.     defaults.h
  132.     site.h
  133.  /  common/common.h
  134.           /extra.c
  135.           /extra.h
  136.           /fileio.c
  137.           /fileio.h
  138.           /main.c
  139.           /makefile
  140.           /texmf.c
  141.           /texmf.h
  142.  /  mf/coerce.h
  143.       /fixcoerc.h
  144.       /imf.c
  145.       /makefile
  146.       /memory.h
  147.       /mf.poo
  148.       /mf0.c
  149.        ....
  150.       /mf18.c  
  151.       /mfd.h
  152.  /  mf/mfwindow/hp2627.c
  153.            /makefile
  154.            /sun.c
  155.            /tek.c
  156.            /uniterm.c
  157.            /x10.c
  158.            /x11-xlib.c
  159.            /x11-xt.c
  160.            /x11.c   
  161.  /  tex/coerce.h
  162.        /fixcoerc.h
  163.        /itex.c
  164.        /makefile
  165.        /memory.h
  166.        /tex.poo
  167.        /tex0.c
  168.         ....
  169.        /tex16.c
  170.        /texd.h
  171.  
  172. The archive for the TeX sources contains the following files:
  173.  
  174. - readme.src
  175. - site.h
  176. - defaults.h
  177. - texsrc.lzh    files to go into the tex directory
  178. - common.lzh      "      "        "  common directory
  179.  
  180. The archive for the Metafont sources contains the following files:
  181.  
  182. - readme.src
  183. - site.h
  184. - defaults.h
  185. - mfsrc.lzh    files to go into the tex directory
  186. - mfwindow.lzh    "      "        "  mf/mfwindow directory
  187. - common.lzh      "      "        "  common directory
  188.  
  189. The files readme.src, site.h, defaults.h and common.lzh are duplicated
  190. for convinience.
  191.  
  192. --
  193. Regards
  194. Frank Ridderbusch
  195.  
  196. Email:
  197. ridderbusch.kd@nixdorf.com    (Amerika (North & South))
  198. ridderbusch.kd@sni.de        (Rest of World)
  199.  
  200. Snail Mail:
  201. Frank Ridderbusch
  202. Sander Str. 17
  203. W-4790 Paderborn
  204. Germany
  205.  
  206.  
  207.